package com.healthcare.client.service;

import com.healthcare.client.pojo.Message;
import com.baomidou.mybatisplus.extension.service.IService;
import com.healthcare.client.vo.MessageVo;

import javax.websocket.Session;
import javax.websocket.server.PathParam;
import java.util.List;

/**
 * <p>
 * 聊天记录 服务类
 * </p>
 *
 * @author 新华医院转诊联盟
 * @since 2020-04-13
 */
public interface MessageService extends IService<Message> {


    /**
     *  获取连接的用户信息
     * @param sid
     * @param userId
     * @param onlineSum
     */
    void sendInfo(String sid, Integer userId, Integer onlineSum);


    /**
     * 发送消息
     * @param sid
     * @param userId
     * @param message
     */
    void onMessage(String sid,Integer userId, String message);


    /**
     * 建立连接调用的方法，群成员加入
     *
     * @param session
     * @param sid
     */
    void onOpen(Session session, String sid, Integer userId);

    /**
     * 关闭连接调用的方法，群成员退出
     *
     * @param session
     * @param sid
     */
    void onClose(Session session, @PathParam("sid") String sid, @PathParam("userId") Integer userId);


    /**
     * 显示消息记录
     * @param caseId  // 转诊或者会诊ID
     * @param type  区分是转诊还是会诊
     * @param userId  // 医生ID
     *  @return
     */
    List<MessageVo> messageLsit(Integer caseId , Integer type, Integer userId);
}
